package com.sugar.follow.up.module.business.dal.dataobject.userpatient;

import cn.idev.excel.annotation.ExcelProperty;
import com.sugar.follow.up.framework.mybatis.core.type.StringListTypeHandler;
import com.sun.xml.bind.v2.TODO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.sugar.follow.up.framework.mybatis.core.dataobject.BaseDO;

/**
 * 就诊人 DO
 *
 * @author Ysugar
 */
@TableName(value = "business_user_patient", autoResultMap = true)
@KeySequence("business_user_patient_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserPatientDO extends BaseDO {

    /**
     * 就诊人ID
     */
    @TableId
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 姓名
     */
    private String name;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 出生日期
     */
    private LocalDate birthday;
    /**
     * 省市区（逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> location;
    /**
     * 详细地址
     */
    private String locationDetail;
    /**
     * ID号
     */
    private String idCode;
    /**
     * 确诊年龄
     */
    private String confirmedDiagnosisAge;
    /**
     * 特病症（0否 1是）
     */
    private Boolean specialIllness;
    /**
     * 心脑血管系统既往病史（字典：business_user_patient_xnxg_type）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> xnxgHistory;
    /**
     * 神经系统既往病史（字典：business_user_patient_sj_type）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> sjHistory;
    /**
     * 呼吸系统既往病史（字典：business_user_patient_hx_type）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> hxHistory;
    /**
     * 消化系统既往病史（字典：business_user_patient_xh_type）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> xhHistory;
    /**
     * 血液系统既往病史（字典：business_user_patient_xy_type）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> xyHistory;
    /**
     * 内分泌系统既往病史（字典：business_user_patient_nfm_type）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> nfmHistory;
    /**
     * 其它既往病史
     */
    private String otherHistory;
    /**
     * 常用药物
     */
    private String commonlyUsedDrugs;
    /**
     * 主要病症
     */
    private String mainSymptoms;
    /**
     * 初始：tPSA（ng／ml）
     */
    private String initialTpsa;
    /**
     * 睾酮（nmol／L）
     */
    private String testosterone;
    /**
     * MRI
     */
    private String mri;
    /**
     * 穿刺病理
     */
    private String puncturePathology;
    /**
     * 临床诊断
     */
    private String clinicalDiagnosis;
    /**
     * 危险分层
     */
    private String riskStratification;
    /**
     * 首选治疗方案（字典：business_user_patient_preferred_plan）
     */
    private Integer preferredPlan;
    /**
     * 状态（0待分配 1已分配）
     */
    private Boolean status;
    /**
     * 分配的医生ID
     */
    private Long doctorId;
    /**
     * 风险等级（字典：business_user_patient_risk_level）
     */
    private String riskLevel;
    /**
     * 备注
     */
    private String remark;
}
